## 每个 Shiny App 都有 2 个关键的组成：
##
## - UI（用户界面）：定义应用的外形
## - Server（后端）：定义应用如何工作
##
## Shiny 应用了响应式编程技术，可以根据输入的变换自动更新输出。
##
## 在创建 Shiny 应用前，我们需要安装和载入 Shiny 包。
##
## 使用下面命令进行安装：
##
## install.packages("shiny")
##
## 然后将包载入当前 R 会话：
##
## library(shiny)
##
## 在几种创建 Shiny 应用的方式中，最简单的
## 是先创建一个新的目录，然后放置一个新的文件 app.R。


library(shiny)

ui = "Hello, world!"

server = function(input, output, session) {
  
}

shinyApp(ui, server)

## 这就创建了一个小的 Shiny 应用！
##
## 我们上面的代码做了以下 4 个事情：
##
## 1.  载入 shiny 包。
## 2.  定义了一个 UI，输出 Hello world!。
## 3.  通过 server() 函数指定了应用的行为，这里目前是空的，什么都不干。
## 4.  使用 shinyApp(ui, server) 构建和启动一个 Shiny 应用。

## 如何运行
##
## 如果使用 RStudio：
##
## - 点击文档工具栏的 Run App 按钮。
## - 使用 Cmd/Ctrl + Shift + Enter 快捷键。
##
## 如果没有使用 Rstudio：
##
## - 使用 source() 运行 app.R 代码脚本。
## - 将含 app.R 的目录传入 shiny::runApp() 。

## 停止
##
## 运行后 R 会话会处于忙碌状态，需要用以下方式停止：
##
## - RStudio 中点击工具栏中的停止图标。
## - R 控制台中键入 `Ctrl` + `C`。
## - 关闭 Shiny 应用窗口。


